package com.mall.interface1.api;

import com.mall.domain.*;
import com.mall.dto.ProductListDto;

import java.util.List;

public interface PmsProductApi {

    //保存商品基本信息，并返回商品id
    Long saveProduct(PmsProduct pmsProduct);

    void savePmp(PmsMemberPrice pmp);

    void saveCpapr(CmsPrefrenceAreaProductRelation cpapr);

    void savePpav(PmsProductAttributeValue ppav);

    void savePpfr(PmsProductFullReduction ppfr);

    void savePpl(PmsProductLadder ppl);

    void savePss(PmsSkuStock pss);

    void saveCspr(CmsSubjectProductRelation cspr);

    //分页查询出商品信息
    List<PmsProduct> list(ProductListDto dto);

    //查询商品总数
    Integer count(ProductListDto dto);

    //根据商品名称或货号模糊查询
    List<PmsProduct> simpleList(String keyword);

    //根据id查询商品
    PmsProduct findById(Long id);

    //修改商品
    void update(PmsProduct pmsProduct);

    void updatePmp(PmsMemberPrice pmp);

    void updateCpapr(CmsPrefrenceAreaProductRelation cpapr);

    void updatePpav(PmsProductAttributeValue ppav);

    void updatePpfr(PmsProductFullReduction ppfr);

    void updatePpl(PmsProductLadder ppl);

    void updatePss(PmsSkuStock pss);

    void updateCspr(CmsSubjectProductRelation cspr);

    List<PmsMemberPrice> findPmp(Long id);

    List<CmsPrefrenceAreaProductRelation> findPprl(Long id);

    List<PmsProductAttributeValue> findPavl(Long id);

    List<PmsProductFullReduction> findPfrl(Long id);

    List<PmsProductLadder> findPll(Long id);

    List<PmsSkuStock> findSsl(Long id);

    List<CmsSubjectProductRelation> findSprl(Long id);
}
